/*-
 * Copyright (c) 2008 <Marcos Donoso mdonoso@marcosdonoso.cl www.marcosdonoso.cl>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of copyright holders nor the names of its
 *    contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL COPYRIGHT HOLDERS OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF
 */

using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;

using System.Configuration;
using System.Data;
using System.Globalization;
using System.Data.Odbc;

/// <summary>
/// Summary description for usuarios
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Usuarios : System.Web.Services.WebService {

    private OdbcConnection cn;
    private OdbcCommand cmd;
    private OdbcParameter prm;
    private OdbcDataReader dr;

    public Usuarios () {

    }

    [WebMethod]
    public DataSet seleccionaUsuarios() {
        DataSet dataSet = new DataSet();
         using (OdbcConnection connection =
               new OdbcConnection(ConfigurationManager.AppSettings["crmos"]))
    {
        OdbcDataAdapter adapter =
            new OdbcDataAdapter("usu_selecciona", connection);

        try
        {
            connection.Open();
            adapter.Fill(dataSet);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        
    }
    return dataSet;
    }

   
    [WebMethod]
    public void guardaUsuarios(int Id_Usu, string Usuario_Usu, int Id_Per, string Password_Usu, int Id_Emp)
    {
        
        try
        {
            cn = new OdbcConnection(ConfigurationManager.AppSettings["crmos"]);

            cmd = new OdbcCommand("{call usu_guarda (?,?,?,?,?)}", cn);

            prm = cmd.Parameters.Add("@Id_Usu", OdbcType.Int);
            prm.Value = Id_Usu;

            prm = cmd.Parameters.Add("@Usuario_Usu", OdbcType.VarChar,50);
            prm.Value = Usuario_Usu;

            prm = cmd.Parameters.Add("Id_Per", OdbcType.Int);
            prm.Value = Id_Per;

            prm = cmd.Parameters.Add("Password_Usu", OdbcType.VarChar, 50);
            prm.Value = Password_Usu;

            prm = cmd.Parameters.Add("Id_Emp", OdbcType.Int);
            prm.Value = Id_Emp;

            cn.Open();

            dr = cmd.ExecuteReader();

            //List each product.
            while (dr.Read())
                Console.WriteLine(dr.GetString(0));

            //Clean up.
            dr.Close();
            cn.Close();
        }
        catch (OdbcException o)
        {
      //      MessageBox.Show(o.Message.ToString());
        }
    }

    [WebMethod]
    public int loginUsuario(string Usuario_Usu, string Password_Usu, string Alias_Emp) {
        int resultado = 0;
      // try
       // {
            cn = new OdbcConnection(ConfigurationManager.AppSettings["crmos"]);

            cmd = new OdbcCommand("{call usua_login (?,?,?)}", cn);

            prm = cmd.Parameters.Add("@Usuario_Usu", OdbcType.VarChar, 50);
            prm.Value = Usuario_Usu;

            prm = cmd.Parameters.Add("Password_Usu", OdbcType.VarChar, 50);
            prm.Value = Password_Usu;

            prm = cmd.Parameters.Add("Alias_Emp", OdbcType.VarChar, 50);
            prm.Value = Alias_Emp;

            cn.Open();

            dr = cmd.ExecuteReader();

            //List each product.
            while (dr.Read())
                //Console.WriteLine(dr.GetString(0));
               resultado = System.Int32.Parse(dr.GetString(0));

            //Clean up.
            dr.Close();
            cn.Close();
        
        //}
        //catch (OdbcException o)
        //{
        //    //      MessageBox.Show(o.Message.ToString());
        //    resultado = 0;
        //}
       return resultado; 
    }

}

